The present invention relates to managing resources within architecture for accommodating multiple file system implementations, and more particularly with respect to efficient file system implementations in Unix and Unix-like operating systems.
Unix operating systems are widely used in servers, workstations, and mobile devices. (UNIX is a trademark of The Open Group in the United States or other countries.) Unix is generally designed to be portable, multi-tasking and multi-user in a time-sharing configuration. Unix and Unix-like operating systems may be characterized by various concepts, including the use of plain text for storing data; hierarchical file systems; the ability to treat devices and certain types of inter-process communication (IPC) as files; and the incorporation of software tools, small programs that may be strung together through a command line interpreter using pipes, in contrast to alternative approaches that use single monolithic programs to achieve functionality.
A Unix operating system includes utilities and a master control program known as the kernel. The kernel provides services to start and stop programs, handles the file system and other common low level tasks that most programs share, and schedules access to hardware to avoid conflicts if two programs try to access the same resource or device simultaneously. To mediate such access, the kernel is generally given special rights, and in one aspect the Unix operating environment may be described as divided between user-space and kernel-space.